package com.abner.design.patterns.responsibilitychain;

/**
 * 审批人(抽象的处理者, 定义了一个处理请求的接口, 同时含另外 Handle)
 * @author abner
 */
public abstract class Approver {

	/**
	 * 下一个处理者
	 */
	Approver approver;

	/**
	 * 名称
	 */
	String name;
	
	public Approver(String name) {
		this.name = name;
	}

	/**
	 * 设置下一个处理者
	 * @param approver
	 */
	public void setApprover(Approver approver) {
		this.approver = approver;
	}

	/**
	 * 处理审批请求得方法
	 * @param purchaseRequest
	 */
	public abstract void processRequest(PurchaseRequest purchaseRequest);
	
}
